package cn.source.zk.service;


import cn.source.zk.domain.entity.Area;

import java.util.List;

public interface IZkAreaService {

    /**
     * 获取地区列表
     * @param area
     * @return
     */
    List<Area> selectAreaList(Area area);

    /**
     *  检查地区名字是否存在
     * @param area
     * @return
     */
    String checkAreaCodeUnique(Area area);

    /**
     * 插入地区
     * @param area
     * @return
     */
    int insertArea(Area area);

    /**
     * 根据id查询地区
     * @param id
     * @return
     */
    Area selectById(Long id);

    /**
     * 修改地区
     * @param area
     */
    int updateArea(Area area);

    /**
     * 删除地区
     * @param num
     * @return
     */
    int remove(Long num);

    /**
     * 是否存在下级部门
     * @param num
     * @return
     */
    boolean hasChildByNum(Long num);

    /**
     * 根据num获取祖级名称列表
     * @param num
     * @return
     */
    String getAncestorName(Long num);

    List<Long> getChild(Long num);

    /**
     * 设置祖级列表
     * @return
     */
    int setAreaByAncestorsIsNull();
}
